# 前言
前面已经介绍了 GitLab Api 的以及其他工具类的封装,通过前面的训练,大部分同学应该已经对 Egg 开发有一定的掌握。
本章将会介绍用户登录、创建项目、创建流程、流程变更等一套业务流程开发。
# 用户权限
根据之前的用户、权限设计方案,系统需要保存 GitLab Auth Api 授权之后用户信息与登录态,这块采取较通用、简单的 jwt,将用户数据及 access_token 保存起来。
# 安装 jwt
使用 jwt 需要用到:
egg-cors- 跨域包egg-jwt- token 生成以及验证包
npm install egg-cors egg-jwt --save
@前端进阶之旅: 代码已经复制到剪贴板
在 app/config/plugin.ts 文件配置开启插件
import { EggPlugin } from "egg";
const plugin: EggPlugin = {
static: true,
jwt: {
enable: true,
package: "egg-jwt",
},
cors: {
enable: true,
package: "egg-cors",
},
};
export default plugin;
@前端进阶之旅: 代码已经复制到剪贴板
在 app/config/config.default.ts 配置插件属性
import { EggAppConfig, EggAppInfo, PowerPartial } from "egg";
export default (appInfo: EggAppInfo) => {
const config = {} as PowerPartial<EggAppConfig>;
config.security = {
csrf: {
enable: false,
},
// domainWhiteList: '*' // 白名单
};
config.cors = {
origin: (ctx) => ctx.get("origin"),
credentials: true,
allowMethods: "GET,HEAD,PUT,POST,DELETE,PATCH",
};
config.jwt = {
secret: "123456", // 自定义 token 的加密条件字符串
};
return {
...config,
};
};
